 /******************************************************************************
*   Universidad del Valle de Guatemala
*   Algoritmos y estructura de datos
*   Hoja de trabajo 6: Utilización de java collection framework
*   Samantha Catún				Carnet: 12382
*   Kevin Godínez                               Carnet: 12717	
*	
*   Nombre del script:FactoryImplementaciones
*   Descripción: Se hace uso de la estructura factory para seleccionar entre las
*                posibles implementaciones de set: Hashset, TreeSet o LinkedHashSet
*                según el usuario lo desee.
******************************************************************************/ 


package hoja6;

import java.util.*;

public class FactoryImplementaciones 
{   
    //Se crea el set para las distintas implementaciones de colecciones de datos
    Set _miSet;
    //Método que creará la implementación deseada.
    public Set ObtenerSet(int Opcion){
        
        switch(Opcion){
            /*Se crea LinkedHashSet, que mantiene el orden de inserción de los 
             * elementos en una lista doblemente encadenada*/
            case 3: _miSet =  new LinkedHashSet<String>();
                    break;
            /*Se crea HashSet, en donde el orden de iteraciones de los elementos 
             * es aleatorio*/    
            case 1: 
                    _miSet = new HashSet<String>();
                    break;
            /*Se crea TreeSet que ordena los elementos en orden alfabético */
            case 2: 
                    _miSet = new TreeSet<String>();
                    break;
        }
        return _miSet;
    }
}
